package com.totoro.tygeneratedragonblock.utils;

import java.util.Random;

/**
 * @author Totoro
 * @version 0.1.0
 * @date 2025/8/10 - 23:03
 * @description
 **/
public class ProbabilityUtil {
    private static final Random random = new Random();

    /**
     * 根据给定概率返回是否成功
     * @param probability 概率值
     * @return 概率>1返回true，概率<0返回false，否则按概率随机返回
     */
    public static boolean checkSuccess(double probability) {
        // 概率大于1直接返回成功
        if (probability > 1.0) {
            return true;
        }
        // 概率小于0直接返回失败
        if (probability < 0.0) {
            return false;
        }

        // 生成0.0到1.0之间的随机数
        double randomValue = random.nextDouble();

        // 如果随机数小于等于给定概率，则返回成功
        return randomValue <= probability;
    }
}